When the buffer to be formatted to is too small, the function return
value is expected to be the number of characters that would be printed
(particularly important if that value is then used for allocating a
buffer). Hence incrementing the active pointer must always be
independent of actually storing a character.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Keir Fraser <keir@xen.org>
/* Print '+<offset>/<len>' */
str = number(str, end, sym_offset, 16, -1, -1, SPECIAL|SIGN|PLUS);
if ( str <= end )
- *str++ = '/';
+ *str = '/';
+ ++str;
str = number(str, end, sym_size, 16, -1, -1, SPECIAL);
}